package com.ljkj.cordial.chat.presenter.response;

import com.lanjiu.pro.business.BusinessProtocolMessageStandard;

public class ResponseBusinessFactory {
    public static <T extends AResponseBusinessPresenter> T create(BusinessProtocolMessageStandard.UnifiedEntranceMessage.DataType dataType, IViewRefreshListener lis) {
        switch (dataType) {
            case RegisteredUserProtocol:
                break;
            case LoginProtocol:
                break;
            case LogoutProtocol:
                return (T) new LogoutProtocolResponse().setRefreshListener(lis);
            case FindUserProtocol:
                break;
            case FriendListProtocol:
                break;
            case FriendInfoProtocol:
                return (T) new FriendInfoProtocolResponse().setRefreshListener(lis);
            case FriendOnlineStatusChangeProtocol:
                break;
            case FriendAddProtocol:
                return (T) new FriendAddProtocolResponse().setRefreshListener(lis);
            case FriendDeleteProtocol:
                return (T) new FriendDeleteProtocolResponse().setRefreshListener(lis);
            case FindGroupProtocol:
                break;
            case GroupListProtocol:
                break;
            case GroupCreateProtocol:
                return (T) new GroupCreateProtocolResponse().setRefreshListener(lis);
            case GroupInfoProtocol:
                return (T) new GroupInfoProtocolResponse().setRefreshListener(lis);
            case GroupMemberOnlineStatusChangeProtocol:
                break;
            case GroupMemberAddProtocol:
                return (T) new GroupMemberAddProtocolResponse().setRefreshListener(lis);
            case GroupMemberDeleteProtocol:
                return (T) new GroupMemberDeleteProtocolResponse().setRefreshListener(lis);
            case GroupAnnouncementProtocol:
                return (T) new GroupAnnouncementProtocolResponse().setRefreshListener(lis);
            case PersonalInfoProtocol:
                break;
            case PersonalSettingsProtocol:
                break;
            case FriendSettingsProtocol:
                break;
            case GroupSettingsProtocol:
                break;
            case GroupMemberSettingsProtocol:
                break;
            case NotificationsProtocol:
            case SysNotifyProtocol:
                return (T) new SysNotifyProtocolResponse().setRefreshListener(lis);
            case UserNotifyProtocol:
                break;
            case FriendChatProtocol:
                return (T) new FriendChatProtocolResponse().setRefreshListener(lis);
            case GroupChatProtocol:
                return (T) new GroupChatProtocolResponse().setRefreshListener(lis);
            case DelFriendOffMessageProtocol:
                return (T) new DelFriendOffMessageProtocolResponse().setRefreshListener(lis);
            case DelGroupOffMessageProtocol:
                return (T) new DelGroupMessageProtocolResponse().setRefreshListener(lis);
            case MessageClearProtocol:
                return (T) new MessageClearProtocolResponse().setRefreshListener(lis);
        }
        return null;
    }
}
